package com.example.validatestudy.demos.tread.sync;

public class SynchTest03 {
    private static boolean isTrue;
    public static synchronized void staticWrite(boolean b){
        isTrue = b;
    }
    public static synchronized boolean staticRead(){
        return isTrue;
    }
    public synchronized void write(boolean b){
        isTrue = b;
    }
    public synchronized boolean read(){
        return isTrue;
    }
    /**
     *  问题 S(SynchTest03简写)：
     * 线程1访问 S.staticWrite(true)方法时，线程2能访问S.staticRead()方法吗？ （能/不能）
     * 线程1访问 new S().staticWrite(false)方法时，线程2能访问 new S().staticRead()吗？ （能/不能）
     * 线程1访问 S.staticWrite(true)方法时，线程2能访问 new S().staticRead()方法吗？ （能/不能）
     * S s = new S(); 线程1访问s.write()方法，线程2能访问 s.read()方法吗？ （能/不能）
     * S a = new S(); S b = new S();  线程1访问a.write()方法，线程2能访问 b.read()方法吗？ （能/不能）
     *
     * 答： 不能，不能，不能，不能，能
     */
}
